--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / Sideband.git / files / sbapp / plyer / platforms / android / irblaster.py
Displaying Raw • Download
sbapp/plyer/platforms/android/irblaster.py 2.0.0 (cf698d96) Text, 1.66 KB
Tff7b72from T7ee787jnius Tff7b72import Te6edf3autoclass
Tff7b72from T7ee787plyerT7ee787.T7ee787facades Tff7b72import Te6edf3IrBlaster
Tff7b72from T7ee787plyerT7ee787.T7ee787platformsT7ee787.T7ee787android Tff7b72import Te6edf3activityTb4b4b4, Te6edf3SDK_INTTb4b4b4, Te6edf3ANDROID_VERSION
Tff7b72if Te6edf3SDK_INT Tff7b72>Tff7b72= T79c0ff19Tb4b4b4:
Te6edf3Context Tff7b72= Te6edf3autoclassTb4b4b4(Ta5d6ff'Ta5d6ffandroid.content.ContextTa5d6ff'Tb4b4b4)
Te6edf3ir_manager Tff7b72= Te6edf3activityTff7b72.Td2a8ffgetSystemServiceTb4b4b4(Te6edf3ContextTff7b72.Td2a8ffCONSUMER_IR_SERVICETb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3ir_manager Tff7b72= Tff7b72None
Tff7b72class T56d364AndroidIrBlasterTb4b4b4(Te6edf3IrBlasterTb4b4b4)Tb4b4b4:
Tff7b72def Td2a8ff_existsTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3ir_manager Tff7b72and Te6edf3ir_managerTff7b72.Td2a8ffhasIrEmitterTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72return Tff7b72True
Tff7b72return Tff7b72False
Tf0883e@property
Tff7b72def Td2a8ffmultiply_pulseTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
T8b949e'''Android 4.4.3+ uses microseconds instead of period counts
'''
Tff7b72return Tff7b72not Tb4b4b4(Te6edf3SDK_INT Tff7b72== T79c0ff19
Tff7b72and Tffa657intTb4b4b4(Tffa657strTb4b4b4(Te6edf3ANDROID_VERSIONTff7b72.Td2a8ffRELEASETb4b4b4)Tff7b72.Td2a8ffrsplitTb4b4b4(Ta5d6ff'Ta5d6ff.Ta5d6ff'Tb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4[Tff7b72-T79c0ff1Tb4b4b4]Tb4b4b4)
Tff7b72< T79c0ff3Tb4b4b4)
Tff7b72def Td2a8ff_get_frequenciesTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72not Te6edf3ir_managerTb4b4b4:
Tff7b72return Tff7b72None
Tff7b72if Tffa657hasattrTb4b4b4(Tff7b72selfTb4b4b4, Ta5d6ff'Ta5d6ff_frequenciesTa5d6ff'Tb4b4b4)Tb4b4b4:
Tff7b72return Tff7b72selfTff7b72.Td2a8ff_frequencies
Te6edf3ir_frequencies Tff7b72= Te6edf3ir_managerTff7b72.Td2a8ffgetCarrierFrequenciesTb4b4b4(Tb4b4b4)
Tff7b72if Tff7b72not Te6edf3ir_frequenciesTb4b4b4:
Tff7b72return Tb4b4b4[Tb4b4b4]
Te6edf3frequencies Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72for Te6edf3freqrange Tff7b72in Te6edf3ir_frequenciesTb4b4b4:
Te6edf3freq Tff7b72= Tb4b4b4(Te6edf3freqrangeTff7b72.Td2a8ffgetMinFrequencyTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3freqrangeTff7b72.Td2a8ffgetMaxFrequencyTb4b4b4(Tb4b4b4)Tb4b4b4)
Te6edf3frequenciesTff7b72.Td2a8ffappendTb4b4b4(Te6edf3freqTb4b4b4)
Tff7b72selfTff7b72.Td2a8ff_frequencies Tff7b72= Te6edf3frequencies
Tff7b72return Te6edf3frequencies
Tff7b72def Td2a8ff_transmitTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3frequencyTb4b4b4, Te6edf3patternTb4b4b4, Te6edf3modeTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffmultiply_pulse Tff7b72and Te6edf3mode Tff7b72== Ta5d6ff'Ta5d6ffperiodTa5d6ff'Tb4b4b4:
Te6edf3pattern Tff7b72= Tff7b72selfTff7b72.Td2a8ffperiods_to_microsecondsTb4b4b4(Te6edf3frequencyTb4b4b4, Te6edf3patternTb4b4b4)
Tff7b72elif Tff7b72not Tff7b72selfTff7b72.Td2a8ffmultiply_pulse Tff7b72and Te6edf3mode Tff7b72== Ta5d6ff'Ta5d6ffmicrosecondsTa5d6ff'Tb4b4b4:
Te6edf3pattern Tff7b72= Tff7b72selfTff7b72.Td2a8ffmicroseconds_to_periodsTb4b4b4(Te6edf3frequencyTb4b4b4, Te6edf3patternTb4b4b4)
Te6edf3ir_managerTff7b72.Td2a8fftransmitTb4b4b4(Te6edf3frequencyTb4b4b4, Te6edf3patternTb4b4b4)
Tff7b72def Td2a8ffinstanceTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72return Te6edf3AndroidIrBlasterTb4b4b4(Tb4b4b4)
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────